- 
                Notifications
    
You must be signed in to change notification settings  - Fork 199
 
[WIP] unmanaged node prototype #2339
Conversation
306d2ab    to
    dc6cd05      
    Compare
  
    dc6cd05    to
    0150d32      
    Compare
  
    | 
           Can you write a one page architecture spec that can be reviewed first before proceeding with implementation ?  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Is it dedicated pool for unmanaged nodes or is pool can be mixed with managed and unmanaged nodes ? 
- What if pool is Linux but unmanaged node is Windows, how is it enforced (same 32 bit vs 64 bit) Same for OS image - Ubuntu vs Redhat ?
- How is unmanaged node name is assigned ? what if there is a duplicate in the pool ? 
- what happens if unmanaged node goes rogue ? Do we try to prevent it from taking work ? (Since OneFuzz was designed with "tear it down" in mind, and unmanaged node we cannot tear it down)
- Which queue unmanaged node gets it's work from ? 
- Currently managed nodes auth using token that they get from inside vnet. Unmanaged node cannot do that - what's the auth, and can it be mixed with "user" auth when node makes a request ? 
- Can I have 2 agents running on one unmanged node ? Are they going to interfere with each other ?
- Which app insights unmanaged node logs to ? how is that setup ?
- What if pool does not exist for which unmanaged node claims to be registered with
- What happens if unmanaged node is outdated ? What's the update process ? 
- Does it have to be part of a scaleset ? or is it standalone VM ? 
- What's the testing strategy ?
    - What's test automation strategy ?
          
 This is a prototype in a draft PR. I am not committing to an specific implementation. The point of this prototype is to understand what is needed.  | 
    
          Codecov Report
 @@            Coverage Diff             @@
##             main    #2339      +/-   ##
==========================================
- Coverage   29.37%   29.27%   -0.10%     
==========================================
  Files         290      290              
  Lines       35603    35690      +87     
==========================================
- Hits        10457    10449       -8     
- Misses      25146    25241      +95     
 Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.  | 
    
          
 dedicated. The pool already has a field to that says if it is managed or not. 
 we have validtion the os matches at the registration. But keep in mind that in this scenrio we do not control the nodes. So we rely on whatever the gent gives which makes it hard to enforce. 
 The node id will be provided by the agent. At this point in the prototype, a duplicate will overwrit the previous registration 
 No. we don't since we do not control it. it is up to the node owner to tear it down 
 The queue of the pool it is registered to. Same as the current nodes 
 The client support 2 types of authentication 
 Currently both agent can run but they will interfere with each other because they will share the same machine id 
 The appinsight config is part of the job config and is independent of the node. the setup for is the same as the current implementation 
 the agent registration will fail 
 it is up to the owner of the unmanaged node 
 it could be part of a scaleset or a standalone VM . That is up to the unmanaged node owner. The service side will only see the node. 
 create an unmanaged pools,  | 
    
| 
           Can you write a one page spec with scenarios that implementation supposed to handle and the whole team can review and ask questions and provide feedback ? All those questions that I wrote were just of the top of my head. And it would be great to have a some sort of a plan to read through to understand what are you trying to implement. And also have a paragraph explaining test strategy.  | 
    
          
 When i am done with prototyping  | 
    
…f the node is unmanaged
a5cf2bf    to
    5fc5b8a      
    Compare
  
    includin the machine in the path of the working di
Summary of the Pull Request